//
//  UITableView+LYAdd.m
//  LYDevelopKit
//
//  Created by 李阳 on 2018/5/25.
//

#import "UITableView+LYAdd.h"
#import "LYUIMacros.h"

LYSYNTH_DUMMY_CLASS(UITableView_LYAdd)

@implementation UITableView (LYAdd)

/// 注册重用Cell，重用标识默认为Cell类名
- (void)registerCellWithClass:(Class)cls
{
    if (!cls)
    {
        cls = [UITableViewCell class];
    }
    [self registerClass:cls forCellReuseIdentifier:NSStringFromClass(cls)];
}

/// 注册xib 重用标识符默认为cell类名
- (void)registerCellWithXib:(Class)cls
{
    NSParameterAssert(cls != NULL);
    NSString *clsString = NSStringFromClass([cls class]);
    [self registerNib:[UINib nibWithNibName:clsString bundle:nil] forCellReuseIdentifier:clsString];
}

/// 取出重用Cell，重用标识默认为Cell类名
- (__kindof UITableViewCell *)dequeueReusableCell:(Class)cls
{
    NSString *resuseID = NSStringFromClass(cls);
    UITableViewCell *cell = [self dequeueReusableCellWithIdentifier:resuseID];
    if (!cell)
    {
        cell = [[cls alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:resuseID];
    }
    return cell;
}

- (__kindof UITableViewHeaderFooterView *)dequeueResuseHeaderFooterView:(Class)cls {
    if (!cls) cls = [UITableViewHeaderFooterView class];
    NSString *reuseId = NSStringFromClass([cls class]);
    UITableViewHeaderFooterView *view = [self dequeueReusableHeaderFooterViewWithIdentifier:reuseId];
    if (!view)
    {
        view = [[cls alloc]initWithReuseIdentifier:reuseId];
    }
    return view;
}

- (__kindof UITableViewCell *)cellForRow:(NSInteger)row
{
    return [self cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]];
}

@end


@implementation BaseTableView

- (void)registerCell:(UITableViewCell *)cell {
    
}

@end
